<?php
return [
    //ORM相关
    'orm' => [
        'default_entity_manager' => 'default',
        'auto_generate_proxy_classes' => false,
        'proxy_dir' => RUNTIME_PATH . 'doctrine/orm/Proxies',
        'proxy_namespace' => 'Proxies',
        'entity_managers' => [
            'default' => [
                'connection' => 'default',
                'query_cache_driver' => [
                    'type' => 'service',
                    'id' => '',
                ],
                'metadata_cache_driver' => [
                    'type' => 'service',
                    'id' => '',
                ],
                'result_cache_driver' => [
                    'type' => 'service',
                    'id' => ''
                ],
                'entity_listeners' => [
                    'entities' => [
                        # example
                        'Acme\HelloBundle\Entity\Author' => [
                            'listeners' => [
                                # example
                                'Acme\HelloBundle\EventListener\ExampleListener' => [
                                    'events' => [
                                        'type' => 'preUpdate',
                                        'method' => 'preUpdate',
                                    ],
                                ],
                            ]
                        ],
                    ],
                ],
                'class_metadata_factory_name' => 'Doctrine\ORM\Mapping\ClassMetadataFactory',
                'default_repository_class' => 'Doctrine\ORM\EntityRepository',
                'auto_mapping' => false,
                'naming_strategy' => 'doctrine.orm.naming_strategy.default',
                'quote_strategy' => 'doctrine.orm.quote_strategy.default',
                'entity_listener_resolver' => null,
                'repository_factory' => null,
                'second_level_cache' => [
                    'region_cache_driver' => [
                        'type' => null,
                        'id' => null,
                        'pool' => null,
                    ],
                    'region_lock_lifetime' => 60,
                    'log_enabled' => true,
                    'region_lifetime' => 0,
                    'enabled' => true,
                    'factory' => null,
                    'regions' => [
                        # Prototype
                        'name' => [
                            'cache_driver' => [
                                'type' => null,
                                'id' => null,
                                'pool' => null,
                            ],
                            'lock_path' => '%kernel.cache_dir%/doctrine/orm/slc/filelock',
                            'lock_lifetime' => 60,
                            'type' => 'default',
                            'lifetime' => 0,
                            'service' => null,
                            'name' => null,
                        ],
                    ],
                    'loggers' => [
                        # Prototype
                        'name' => [
                            'name' => null,
                            'service' => null,
                        ],
                    ],
                ],
                # An array of hydrator names
                'hydrators' => [
                    # example
                    'ListHydrator' => 'Acme\HelloBundle\Hydrators\ListHydrator',
                ],
                'mappings' => [
                    # An array of mappings, which may be a bundle name or something else
                    'mapping_name' => [
                        'mapping' => true,
                        'type' => null,
                        'dir' => null,
                        'alias' => null,
                        'prefix' => null,
                        'is_bundle' => null,
                    ],
                ],
                'dql' => [
                    # A collection of string functions
                    'string_functions' => [],
                    # example
                    # test_string: Acme\HelloBundle\DQL\StringFunction
                    # A collection of numeric functions
                    'numeric_functions' => [],

                    # example
                    # test_numeric: Acme\HelloBundle\DQL\NumericFunction

                    # A collection of datetime functions
                    'datetime_functions' => [],

                    # example
                    # test_datetime: Acme\HelloBundle\DQL\DatetimeFunction

                ],
                # Register SQL Filters in the entity manager
                'filters' => [

                    # An array of filters
                    'some_filter' => [
                        'class' => 'Acme\HelloBundle\Filter\SomeFilter', # Required
                        'enabled' => false,
                        # An array of parameters
                        'parameters' =>

                        # example
                            ['foo_param' => 'bar_value'],

                    ],
                ],
            ],
        ],
        # Search for the "ResolveTargetEntityListener" class for a cookbook about this
        'resolve_target_entities' => # Prototype
            ['Acme\InvoiceBundle\Model\InvoiceSubjectInterface' => 'Acme\AppBundle\Entity\Customer']
    ],
    //DBAL相关配置
    'dbal' => [
        'default_connection' => 'default',
        'types' => [
            'custom_type1' => '',
        ],
        'connections' => [
            'default' => [

            ]
        ],
    ],
    //TWIG相关
    'twig' => [

    ],
];

